<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../style.css" type="text/css" media="screen">
<link rel="stylesheet" href="../../../print.css" type="text/css" media="print">
<meta content="FSMachine,idv.cjcat.fenofsm.FSMachine,currentState,initState,states,transitions,clear,createState,createTransition,getStateByName,getTransitionByName,input,parseXML,registerStateXMLTag,registerTransitionXMLTag,removeState,removeStateByName,removeTransition,removeTransitionsByName,setCurrentState,toXML" name="keywords">
<title>idv.cjcat.fenofsm.FSMachine</title>
</head>
<body>
<script type="text/javascript" language="javascript" src="../../../asdoc.js"></script><script type="text/javascript" language="javascript" src="../../../cookies.js"></script><script type="text/javascript" language="javascript">
<!--
				asdocTitle = 'FSMachine - API Documentation';
				var baseRef = '../../../';
				window.onload = configPage;
			--></script>
<table style="display:none" id="titleTable" cellspacing="0" cellpadding="0" class="titleTable">
<tr>
<td align="left" class="titleTableTitle">FenoFSM</td><td align="right" class="titleTableTopNav"><a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../package-summary.html">All&nbsp;Packages</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../all-classes.html')" href="../../../class-summary.html">All&nbsp;Classes</a>&nbsp;|&nbsp;<a onclick="loadClassListFrame('../../../index-list.html')" href="../../../all-index-A.html">Index</a>&nbsp;|&nbsp;<a href="../../../index.html?idv/cjcat/fenofsm/FSMachine.html&amp;idv/cjcat/fenofsm/class-list.html" id="framesLink1">Frames</a><a onclick="parent.location=document.location" href="" style="display:none" id="noFramesLink1">No&nbsp;Frames</a></td><td rowspan="3" align="right" class="titleTableLogo"><img alt="Adobe Logo" title="Adobe Logo" class="logoImage" src="../../../images/logo.jpg"></td>
</tr>
<tr class="titleTableRow2">
<td align="left" id="subTitle" class="titleTableSubTitle">Class&nbsp;FSMachine</td><td align="right" id="subNav" class="titleTableSubNav"><a href="#propertySummary">Properties</a>&nbsp;| <a href="#methodSummary">Methods</a></td>
</tr>
<tr class="titleTableRow3">
<td colspan="2">&nbsp;</td>
</tr>
</table>
<script type="text/javascript" language="javascript">
<!--
if (!isEclipse() || window.name != ECLIPSE_FRAME_NAME) {titleBar_setSubTitle("Class FSMachine"); titleBar_setSubNav(false,true,false,false,false,false,true,false,false,false,false,false,false,false);}
--></script>
<div class="MainContent">
<table cellspacing="0" cellpadding="0" class="classHeaderTable">
<tr>
<td class="classHeaderTableLabel">Package</td><td><a onclick="javascript:loadClassListFrame('class-list.html')" href="package-detail.html">idv.cjcat.fenofsm</a></td>
</tr>
<tr>
<td class="classHeaderTableLabel">Class</td><td class="classSignature">public class FSMachine</td>
</tr>
</table>
<p></p>
  A <code>FSMachine</code> object representes a finite state machine.
  <p>
  A finite state machine can have multiple states and transitions.
  A transition is a directional relation from a state to another state with a given input.
  A finite state machine is always in a single state at a time.
  Each time a finite state machine is fed an input signal (an <code>input()</code> method call),
  at most one outgoing transition from the current state responds to this certain input signal.
  </p>
  <p>
  The transition process of one state to another involves these five (or four) events (in the order of dispatchment):
  <ul>
  <li>The origin state object dispatches an <code>StateEvent.EXIT</code> event.</li>
  <li>The transition object dispatches a <code>TransitionEvent.INIT</code> event.</li>
  <li>The transition object dispatches <code>TransitionEvent.PROGRESS</code> events repeatedly during the transition delay. This event won't be dispatched if the transition delay is zero or negative.
  <li>The transition object dispatches a <code>TransitionEvent.COMPLETE</code> event.</li>
  <li>The destination state object dispatches an <code>StateEvent.ENTER</code> event.</li>
  </ul>
  The transition process ends after all the aforementioned events are dispatched, and the finite state machine is set to a new state.
  </p>
  <p></p>
<br>
<hr>
</div>
<a name="propertySummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Properties</div>
<table id="summaryTableProperty" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Property</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#currentState">currentState</a> : <a href="../fenofsm/State.html">State</a>
<div class="summaryTableDescription">[read-only]
   The current state.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#initState">initState</a> : <a href="../fenofsm/State.html">State</a>
<div class="summaryTableDescription">[read-only]
   The initial state.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#states">states</a> : Array<div class="summaryTableDescription">[read-only]</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol"><a class="signatureLink" href="#transitions">transitions</a> : Array<div class="summaryTableDescription">[read-only]</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
</table>
</div>
<a name="methodSummary"></a>
<div class="summarySection">
<div class="summaryTableTitle">Public Methods</div>
<table id="summaryTableMethod" class="summaryTable " cellpadding="3" cellspacing="0">
<tr>
<th>&nbsp;</th><th colspan="2">Method</th><th class="summaryTableOwnerCol">Defined&nbsp;by</th>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#FSMachine()">FSMachine</a>(initStateName:String = null, initStateClass:Class = null)</div>
<div class="summaryTableDescription">
   Creates a finite state machine.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#clear()">clear</a>(initStateName:String = null, initStateClass:Class = null):void</div>
<div class="summaryTableDescription">
   Resets the finite state machine to initial condition.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#createState()">createState</a>(name:String = null, stateClass:Class = null):<a href="../fenofsm/State.html">State</a>
</div>
<div class="summaryTableDescription">
   Creates a state in the finite state machine.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#createTransition()">createTransition</a>(from:<a href="State.html">State</a>, to:<a href="State.html">State</a>, input:String, name:Number = null, delay:Class = 0, transitionClass:* = null):<a href="../fenofsm/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Creates a transition in the finite state machine.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getStateByName()">getStateByName</a>(stateName:String):<a href="../fenofsm/State.html">State</a>
</div>
<div class="summaryTableDescription">
   Finds a state by name.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#getTransitionByName()">getTransitionByName</a>(transitionName:String):<a href="../fenofsm/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Finds a transition by name.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#input()">input</a>(input:*):<a href="../fenofsm/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Feeds an input to the finite state machine to change the machine's state.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#parseXML()">parseXML</a>(xml:XML):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerStateXMLTag()">registerStateXMLTag</a>(name:String, stateClass:Class):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#registerTransitionXMLTag()">registerTransitionXMLTag</a>(name:String, transitionClass:Class):void</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#removeState()">removeState</a>(state:<a href="State.html">State</a>):<a href="../fenofsm/State.html">State</a>
</div>
<div class="summaryTableDescription">
   Removes a state from the finite state machine.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#removeStateByName()">removeStateByName</a>(stateName:String):<a href="../fenofsm/State.html">State</a>
</div>
<div class="summaryTableDescription">
   Removes a state from the finite state machine by name.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#removeTransition()">removeTransition</a>(transition:<a href="Transition.html">Transition</a>):<a href="../fenofsm/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Removes a transition from the finite state machine.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#removeTransitionsByName()">removeTransitionsByName</a>(transitionName:String):<a href="../fenofsm/Transition.html">Transition</a>
</div>
<div class="summaryTableDescription">
   Removes a transition from the finite state machine by name.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#setCurrentState()">setCurrentState</a>(state:<a href="State.html">State</a>, doExit:Boolean, doEnter:Boolean):<a href="../fenofsm/State.html">State</a>
</div>
<div class="summaryTableDescription">
   Sets the current state to a new state.</div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
<tr class="">
<td class="summaryTablePaddingCol">&nbsp;</td><td class="summaryTableInheritanceCol">&nbsp;</td><td class="summaryTableSignatureCol">
<div class="summarySignature">
<a class="signatureLink" href="#toXML()">toXML</a>():XML</div>
<div class="summaryTableDescription"></div>
</td><td class="summaryTableOwnerCol">FSMachine</td>
</tr>
</table>
</div>
<script type="text/javascript" language="javascript">
<!--
showHideInherited();
--></script>
<div class="MainContent">
<a name="propertyDetail"></a>
<div class="detailSectionHeader">Property detail</div>
<a name="currentState"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">currentState</td><td class="detailHeaderType">property</td>
</tr>
</table>
<div class="detailBody">
<code>currentState:<a href="../fenofsm/State.html">State</a></code>&nbsp;&nbsp;[read-only]<p>
   The current state.
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get currentState():<a href="../fenofsm/State.html">State</a></code>
<br>
</div>
<a name="initState"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">initState</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>initState:<a href="../fenofsm/State.html">State</a></code>&nbsp;&nbsp;[read-only]<p>
   The initial state.
   </p><span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get initState():<a href="../fenofsm/State.html">State</a></code>
<br>
</div>
<a name="states"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">states</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>states:Array</code>&nbsp;&nbsp;[read-only]<span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get states():Array</code>
<br>
</div>
<a name="transitions"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">transitions</td><td class="detailHeaderType">property</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>transitions:Array</code>&nbsp;&nbsp;[read-only]<span class="label">Implementation</span>
<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;public function get transitions():Array</code>
<br>
</div>
<a name="constructorDetail"></a>
<div class="detailSectionHeader">Constructor detail</div>
<a name="FSMachine()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">FSMachine</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">constructor</td>
</tr>
</table>
<div class="detailBody">
<code>public function FSMachine(initStateName:String = null, initStateClass:Class = null)</code><p>
   Creates a finite state machine.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">initStateName</span>:String</code> (default = <code>null</code>)<code></code> &mdash;  The name of the initial state.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">initStateClass</span>:Class</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
</div>
<a name="methodDetail"></a>
<div class="detailSectionHeader">Method detail</div>
<a name="clear()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">clear</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td>
</tr>
</table>
<div class="detailBody">
<code>public function clear(initStateName:String = null, initStateClass:Class = null):void</code><p>
   Resets the finite state machine to initial condition.
   </p><p>
   That is, there is only one new initial state left in the machine and no transitions exist.
   </p>
   <span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">initStateName</span>:String</code> (default = <code>null</code>)<code></code></td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">initStateClass</span>:Class</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
</div>
<a name="createState()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">createState</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function createState(name:String = null, stateClass:Class = null):<a href="../fenofsm/State.html">State</a></code><p>
   Creates a state in the finite state machine.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">name</span>:String</code> (default = <code>null</code>)<code></code> &mdash;     The name of the state.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">stateClass</span>:Class</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/State.html">State</a></code> &mdash; 
                        The state.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="createTransition()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">createTransition</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function createTransition(from:<a href="State.html">State</a>, to:<a href="State.html">State</a>, input:String, name:Number = null, delay:Class = 0, transitionClass:* = null):<a href="../fenofsm/Transition.html">Transition</a></code><p>
   Creates a transition in the finite state machine.
   </p><p>
   The origin and destination states must already exist in the machine.
   </p>
   <span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">from</span>:<a href="State.html">State</a></code> &mdash;          The origin state.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">to</span>:<a href="State.html">State</a></code> &mdash;            The destination state.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">input</span>:String</code> &mdash;         The input the transition shall respond to.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">name</span>:Number</code> (default = <code>null</code>)<code></code> &mdash;          The name of the transition.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">delay</span>:Class</code> (default = <code>0</code>)<code></code></td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">transitionClass</span>:*</code> (default = <code>null</code>)<code></code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/Transition.html">Transition</a></code> &mdash; 
                        The transition.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="getStateByName()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getStateByName</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function getStateByName(stateName:String):<a href="../fenofsm/State.html">State</a></code><p>
   Finds a state by name.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">stateName</span>:String</code> &mdash;  The name of the state.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/State.html">State</a></code> &mdash; 
                        The state, <code>null</code> of such state doesn't exist in the machine.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="getTransitionByName()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">getTransitionByName</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function getTransitionByName(transitionName:String):<a href="../fenofsm/Transition.html">Transition</a></code><p>
   Finds a transition by name.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">transitionName</span>:String</code> &mdash; The name of the transition.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/Transition.html">Transition</a></code> &mdash; 
                        The transition, <code>null</code> of such transition doesn't exist in the machine.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="input()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">input</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function input(input:*):<a href="../fenofsm/Transition.html">Transition</a></code><p>
   Feeds an input to the finite state machine to change the machine's state.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">input</span>:*</code> &mdash;  The input.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/Transition.html">Transition</a></code> &mdash; 
                        The responding transition.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="parseXML()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">parseXML</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function parseXML(xml:XML):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">xml</span>:XML</code></td>
</tr>
</table>
</div>
<a name="registerStateXMLTag()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerStateXMLTag</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerStateXMLTag(name:String, stateClass:Class):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">name</span>:String</code></td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">stateClass</span>:Class</code></td>
</tr>
</table>
</div>
<a name="registerTransitionXMLTag()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">registerTransitionXMLTag</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function registerTransitionXMLTag(name:String, transitionClass:Class):void</code><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">name</span>:String</code></td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">transitionClass</span>:Class</code></td>
</tr>
</table>
</div>
<a name="removeState()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">removeState</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function removeState(state:<a href="State.html">State</a>):<a href="../fenofsm/State.html">State</a></code><p>
   Removes a state from the finite state machine.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">state</span>:<a href="State.html">State</a></code> &mdash;  The state.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/State.html">State</a></code> &mdash; 
                        The state, <code>null</code> of such state doesn't exist in the machine.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="removeStateByName()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">removeStateByName</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function removeStateByName(stateName:String):<a href="../fenofsm/State.html">State</a></code><p>
   Removes a state from the finite state machine by name.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">stateName</span>:String</code> &mdash;  The name of the state.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/State.html">State</a></code> &mdash; 
                        The state, <code>null</code> of such state doesn't exist in the machine.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="removeTransition()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">removeTransition</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function removeTransition(transition:<a href="Transition.html">Transition</a>):<a href="../fenofsm/Transition.html">Transition</a></code><p>
   Removes a transition from the finite state machine.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">transition</span>:<a href="Transition.html">Transition</a></code> &mdash;  The transition.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/Transition.html">Transition</a></code> &mdash; 
                        The transition, <code>null</code> of such transition doesn't exist in the machine.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="removeTransitionsByName()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">removeTransitionsByName</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function removeTransitionsByName(transitionName:String):<a href="../fenofsm/Transition.html">Transition</a></code><p>
   Removes a transition from the finite state machine by name.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">transitionName</span>:String</code> &mdash; The name of the transition.
   </td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/Transition.html">Transition</a></code> &mdash; 
                        The transition, <code>null</code> of such transition doesn't exist in the machine.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="setCurrentState()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">setCurrentState</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function setCurrentState(state:<a href="State.html">State</a>, doExit:Boolean, doEnter:Boolean):<a href="../fenofsm/State.html">State</a></code><p>
   Sets the current state to a new state.
   </p><span class="label">Parameters</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20px"></td><td><code><span class="label">state</span>:<a href="State.html">State</a></code> &mdash;    The new state.
   </td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">doExit</span>:Boolean</code></td>
</tr>
<tr>
<td class="paramSpacer">&nbsp;</td>
</tr>
<tr>
<td width="20px"></td><td><code><span class="label">doEnter</span>:Boolean</code></td>
</tr>
</table>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code><a href="../fenofsm/State.html">State</a></code> &mdash; 
                         The new state.
   
                        
                     </td>
</tr>
</table>
</div>
<a name="toXML()"></a>
<table cellspacing="0" cellpadding="0" class="detailHeader">
<tr>
<td class="detailHeaderName">toXML</td><td class="detailHeaderParens">()</td><td class="detailHeaderType">method</td><td class="detailHeaderRule">&nbsp;</td>
</tr>
</table>
<div class="detailBody">
<code>public function toXML():XML</code>
<p></p>
<span class="label">Returns</span>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="20"></td><td><code>XML</code></td>
</tr>
</table>
</div>
<br>
<br>
<hr>
<br>
<p></p>
<center class="copyright"> 
</center>
</div>
</body>
</html>
<!-- -->
